import http from 'utils/http';

/**
 * 获取用户列表
 * @param data.pageNumber    分页当前页
 * @param data.pageSize      分页每页的数量
 * @param data.userName   用户名
 * @param data.name      姓名
 * @param data.validStat     可用状态：1-可用；0-禁用
 * @returns
 */
export const getUserList = (data: any) => http<
        typeof data,
        {
            recordDatas?: Object[];
            totalCount?: number;
        }
    >({
        url: '/api/user/pageUsers',
        method: 'post',
        data,
    });

/**
 * 查询用户详情
 * @param data.id            用户ID
 * @returns
 */
export const getUserDetail = (data: any) => http({
        url: '/api/user/queryDetailUser',
        method: 'post',
        data,
    });

/**
 * 创建用户
 * @param data.mobile        用户手机号
 * @param data.sex           用户性别：1-男 2-女
 * @param data.userName   用户名
 * @param data.name      姓名
 * @param data.roleIds       角色id数组
 * @returns
 */
export const addUser = (data: any) => http({
        url: '/api/user/addUser',
        method: 'post',
        data,
    });

/**
 * 修改用户
 * @param data.id            用户ID
 * @param data.mobile        用户手机号
 * @param data.sex           用户性别：1-男 2-女
 * @param data.name      姓名
 * @param data.roleIds       角色id数组
 * @returns
 */
export const editUser = (data: any) => http({
        url: '/api/user/modifyUser',
        method: 'post',
        data,
    });

/**
 * 修改用户状态
 * @param data.id            用户ID
 * @param data.validStat     用户修改后的状态（1-可用；0-禁用）
 * @returns
 */
export const updateUserStatus = (data: any) => http({
        url: '/api/user/modifyValidStat',
        method: 'post',
        data,
    });

/**
 * 删除用户
 * @param data.id            用户ID
 * @returns
 */
export const deleteUser = (data: any) => http({
        url: '/api/user/delUser',
        method: 'post',
        data,
    });

/**
 * 重置密码
 * @param data.id            用户ID
 * @param data.newPasswd     新密码
 * @returns
 */
export const resetPassword = (data: any) => http({
        url: '/api/user/resetPasswd',
        method: 'post',
        data,
    });
